﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>从表</title>
    <meta charset="UTF-8" />
    <base target="_self" />
    <script language="JavaScript" src="../Comm/JScript.js" type="text/javascript"></script>
    <script src="../Scripts/QueryString.js" type="text/javascript"></script>
    <script src="../Scripts/config.js" type="text/javascript"></script>
    <link href="../../DataUser/Style/Dtl.css" rel="stylesheet" type="text/css" />

    <link rel="stylesheet" type="text/css" href="../Scripts/easyUI145/themes/default/easyui.css" />
    <link rel="stylesheet" type="text/css" href="../Scripts/easyUI145/themes/icon.css" />
    <link href="../Scripts/easyUI145/demo/demo.css" rel="stylesheet" />
    <script type="text/javascript" src="../Scripts/easyUI145/jquery.min.js"></script>
    <script type="text/javascript" src="../Scripts/easyUI145/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="../Scripts/easyUI145/locale/easyui-lang-zh_CN.js"></script>
    <script type="text/javascript" src="../Scripts/bootstrap/js/bootstrap.min.js"></script>
    <script src="../Scripts/EasyUIUtility.js" type="text/javascript"></script>

    <script type="text/javascript" src="../Scripts/commonYangYH.js"></script>
    <script type="text/javascript" src="MapExt2016.js"></script>
    <script src="../Comm/JS/TBHelpDiv.js" type="text/javascript"></script>
    <script src="../Comm/JS/Calendar/WdatePicker.js" type="text/javascript"></script>
    <script type="text/javascript" src="../Scripts/config.js"></script>
    <script src="../Comm/Gener.js" type="text/javascript"></script>
    <!--<script src="../Comm/JS/DtlUIControl.js"></script>-->
    <script language="javascript" type="text/javascript">
        //页面启动函数.
        $(function () {
            //加载JS文件
            try {
                //var s = document.createElement('script');
                //s.type = 'text/javascript';
                //s.src = "../../DataUser/JSLibData/" + ensName + ".js";
                //var tmp = document.getElementsByTagName('script')[0];
                //tmp.parentNode.insertBefore(s, tmp);
            }
            catch (err) {
            }
            //初始化页面
            loadDtlTable();
        });

        var editIndex = undefined;
        function endEditing() {
            if (editIndex == undefined) {
                return true;
            }

            var b = $('#dtlTable').datagrid('validateRow', editIndex);
            if (b) {
                $('#dtlTable').datagrid('endEdit', editIndex);
                editIndex = undefined;
                return true;
            } else {

                return false;
            }
        }
        var sys_MapDtlObj;
        function onDblClickRow(index) {
            if (sys_MapDtlObj.IsUpdate == "1") {
                var selectedRow = $('#dtlTable').datagrid('getSelected');
                if (selectedRow == null) {
                    alert("没有选中要保存的数据行");
                    return;
                }

                var EditModel = sys_MapDtlObj.EditModel;

                if (window.parent) {
                    var ensName = GetQueryString("EnsName");
                    var refPKVal = GetQueryString("RefPKVal");
                    var FK_MapData = GetQueryString("FK_MapData");
                    var fid = GetQueryString("FID");
                    if (fid == "" || fid == undefined)
                        fid = 0
                    var FK_Node = GetQueryString("FK_Node");
                    window.parent.DtlFrm(ensName, refPKVal, selectedRow.OID, EditModel, loadDtlTable, FK_MapData, FK_Node, fid, true);
                }
            }
            return;
            //alert(sys_MapDtl.IsUpdate);
            if (sys_MapDtl.IsUpdate == "1") {
                //判断插入行的模式 =0行模式. 1=自由表单卡片模式 2=傻瓜表单卡片模式.
                if (EditModel != 0 && window.parent) {
                    var ensName = GetQueryString("EnsName");
                    var refPKVal = GetQueryString("RefPKVal");
                    var FK_MapData = GetQueryString("FK_MapData");
                    var FID = GetQueryString("FID");
                    var FK_Node = GetQueryString("FK_Node");
                    window.parent.DtlFrm(ensName, refPKVal, '0', EditModel, loadDtlTable, FK_MapData, FK_Node, FID, false);
                    return;
                }
            }

            //if (editIndex != index) {
            //    if (endEditing()) {
            //        $('#dtlTable').datagrid('selectRow', index).datagrid('beginEdit', index);
            //        editIndex = index;
            //    } else {
            //        $('#dtlTable').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex);

            //        alert("注意必填项");
            //    }
            //}
        }

        var mapExts;  //mapExts扩展
        var isEditable;
        var ensName = GetQueryString("EnsName");



        //打开附件.
        function OpAth(RefPK, OID) {
            SaveRow();
            var dtlName = GetQueryString("EnsName");
            var fk_node = GetQueryString("FK_Node");
            var fk_flow = GetQueryString("FK_Flow");

            var parentUrl = parent.location.href;
            var url = "CCForm/Ath.htm?IsBTitle=1&PKVal=" + OID + "&Ath=AthMDtl&FK_MapData=" + GetQueryString("EnsName") + "&FK_FrmAttachment=" + dtlName + "_AthMDtl&WorkID=" + RefPK + "&FK_Node=" + fk_node + "&FK_Flow=" + fk_flow;

            if (parentUrl.indexOf("CCForm") != -1) {
                url = "Ath.htm?IsBTitle=1&PKVal=" + OID + "&Ath=AthMDtl&FK_MapData=" + GetQueryString("EnsName") + "&FK_FrmAttachment=" + dtlName + "_AthMDtl&WorkID=" + RefPK + "&FK_Node=" + fk_node + "&FK_Flow=" + fk_flow;
                WinOpen(url);
            } else {
                parent.OpenEasyUiDialogExt(url, '附件上传', 800, 500, false);
            }

        }


        function unitformatter(value, row, index) {
            try {
                if (this.field == "AthNum") {
                    return '<a id="btn" href="javascript:OpAth(' + (row.RefPK == undefined ? 0 : row.RefPK) + ',' + (row.OID == undefined ? 0 : row.OID) + ');" class="easyui-linkbutton" data-options="iconCls:\'icon-search\'">' + (value == undefined ? 0 : value) + '</a>';
                }

                var editerType = this.editor.type;
                var dataObj = this.editor.options.data;
                var keyOfEn = this.field;
                if (editerType == "combobox") {
                    for (var i = 0; i < dataObj.length; i++) {
                        if (dataObj[i][keyOfEn] == value) {
                            var v = dataObj[i].Name;
                            if (v == undefined)
                                return dataObj[i][keyOfEn + "T"];
                            else
                                return dataObj[i].Name;
                        }
                    }
                }

                if (editerType == "textarea" || editerType == "text") {
                    return value;
                }

                if (editerType == "checkbox") {
                    if (value == "0") {
                        return "否";
                    } else {
                        return "是";
                    }
                }
            }
            catch (Exception) {
                return value;
            }
            return value;
        }
        function loadDtlTable() {
            //调用Gener.js 的方法，处理当前页面传来的参数, 并把参数传入到dtl.htm里面去。
            var urlParam = DearUrlParas();
            //初始化表格.
            var handler = new HttpHandler("BP.WF.HttpHandler.WF_CCForm");
            handler.AddUrlData(urlParam);
            var data = handler.DoMethodReturnString("Dtl_Init");

            // 检查是否有错误.
            if (data.indexOf('err@') == 0) {
                alert(data);
                return;
            }

            //解析.
            data = JSON.parse(data);

            //主表数据，用于变量替换.
            var mainTable = data["MainTable"]; //主表数据.

            //从表信息.
            var sys_MapDtl = data["Sys_MapDtl"][0]; //从表描述.
            var sys_mapAttr = data["Sys_MapAttr"]; //从表字段.
            var sys_mapExtDtl = data["Sys_MapExt"]; //扩展信息.
            mapExts = sys_mapExtDtl;
            workNodeData = data;

            var sys_MapDtl = data["Sys_MapDtl"][0]; //从表描述.

            //默认为空,全部显示,如果配置了就按照配置的计算,格式为:field1,field2
            if (sys_MapDtl.ShowCols) {
                var ShowCols = sys_MapDtl.ShowCols.split(",");
                $.each(sys_mapAttr, function (i, o) {
                    if (ShowCols.indexOf(o.KeyOfEn) == -1) {
                        o.UIVisible = 0;
                    }
                });
            }

            var titleArr = new Array();
            var item = new Object();
            var athNumitem = new Object();
            item.field = 'OID';
            item.checkbox = true;
            titleArr.push(item);

            var sumClos = new Array();
            $.each(sys_mapAttr, function (i, mapAttrObj) {
                if (mapAttrObj.UIVisible == 1) {
                    item = new Object();

                    item.field = mapAttrObj.KeyOfEn;
                    item.title = mapAttrObj.Name;
                    item.width = mapAttrObj.UIWidth;
                    item.align = 'center';

                    var eriterObj = figure_MapAttr_Template(mapAttrObj);
                    item.editor = eriterObj;
                    item.formatter = unitformatter;

                    titleArr.push(item);

                    if (mapAttrObj.ExtIsSum == 1) {
                        var sumClo = new Object();

                        sumClo.No = mapAttrObj.KeyOfEn;
                        sumClo.Name = mapAttrObj.Name;
                        sumClo.Val =

                        sumClos.push(sumClo);
                    }

                }

                if (mapAttrObj.KeyOfEn == "AthNum")
                    if (sys_MapDtl.IsEnableAthM == 1) {
                        athNumitem.field = mapAttrObj.KeyOfEn;
                        athNumitem.title = "附件";//mapAttrObj.Name;
                        athNumitem.width = mapAttrObj.UIWidth;
                        athNumitem.align = 'center';

                        var eriterObj = figure_MapAttr_Template(mapAttrObj);
                        athNumitem.editor = eriterObj;
                        athNumitem.formatter = unitformatter;
                        //titleArr.push(athNumitem);
                    }

                if (mapAttrObj.KeyOfEn == "RefPK") {
                    item = new Object();

                    item.field = mapAttrObj.KeyOfEn;
                    item.title = mapAttrObj.Name;
                    item.width = mapAttrObj.UIWidth;
                    item.align = 'center';
                    item.hidden = true;

                    titleArr.push(item);
                }
            });

            if (athNumitem.field != undefined) {
                titleArr.push(athNumitem);
            }

            //从表数据.
            var dbDtl = data["DBDtl"];
            var dgData = new Object();
            dgData.total = dbDtl.length;
            dgData.rows = new Array();


            $.each(dbDtl, function (t, dtlData) {
                var o = new Object();
                $.each(titleArr, function (i, titleItem) {
                    o[titleItem.field] = dtlData[titleItem.field];
                });

                o.OID = dtlData.OID;
                dgData.rows.push(o);
            });

            $('#dtlTable').datagrid({
                columns: [titleArr],
                showFooter: true,
                selectOnCheck: false,
                checkOnSelect: false,
                singleSelect: true,
                idField: "OID",
                data: dgData,
                width: 'auto',
                height: '290',
                striped: true,
                rownumbers: true,
                remoteSort: false,
                fitColumns: false,
                onDblClickRow: onDblClickRow ,
                onLoadSuccess: function (data) {
                    sys_MapDtlObj = sys_MapDtl;
                    if (sumClos.length != 0) {
                        dgData.footer = new Array();
                        dgData.footer.push({});
                        $.each(sumClos, function (t, sumCol) {
                            dgData.footer[0][sumCol.No] = "<span style=\"color:blue;\">[" + sumCol.Name + "]</span>合计:" + compute(sumCol.No);
                        });
                    }
                }
            });
             
            $("#dtlTable").datagrid("clearSelections");
            $("#dtlTable").datagrid("clearChecked");
            InitToolBars(data);

        }

        //指定列求和
        function compute(colName) {
            var rows = $('#dtlTable').datagrid('getRows');
            var total = 0;
            for (var i = 0; i < rows.length; i++) {
                total += parseFloat(rows[i][colName]);
            }
            return total;
        }
        function InitToolBars(obj) {
            var sys_MapDtl = obj["Sys_MapDtl"][0]; //从表描述.
            var toolbar = new Array();
            var barItem;

            //是否可以插行
            if (sys_MapDtl.IsInsert == "1") {
                //新增显示方式？ =0行模式, 1=自由表单模式 2=傻瓜表单模式.
                // ==1,==2 是打开父窗口出现卡片.
                var EditModel = sys_MapDtl.EditModel;
                window.EditModel = EditModel;

                barItem = new Object();

                barItem.id = 'IsInsert';
                barItem.text = '新增';
                barItem.iconCls = 'icon-add';
                barItem.handler = function () { insertRow(EditModel); };

                toolbar.push(barItem);
            }
            //是否可以删除行
            if (sys_MapDtl.IsDelete == "1") {
                barItem = new Object();

                barItem.id = 'IsDelete';
                barItem.text = '删除';
                barItem.iconCls = 'icon-remove';
                barItem.handler = function () { deleteRow(); };

                toolbar.push(barItem);
            }

            //是否可以更新行
            //if (sys_MapDtl.IsUpdate == "1") {
            //    barItem = new Object();

            //    barItem.id = 'IsUpdate';
            //    barItem.text = '保存';
            //    barItem.iconCls = 'icon-save';
            //    barItem.handler = function () {
            //        SaveRow();
            //    };

            //    toolbar.push(barItem);
            //}

            //明细表导入模式
            var impModel = sys_MapDtl.ImpModel;
            if (impModel != 0) {
                barItem = new Object();

                barItem.id = 'ImpModel';
                barItem.text = '导入';
                barItem.iconCls = 'icon-back';
                barItem.handler = function () { Option(impModel); };

                toolbar.push(barItem);
            }


            $('#dtlTable').datagrid({
                toolbar: toolbar
            });

            //$('div.datagrid-toolbar a').eq(0).hide();
        }
        //初始化下拉列表框的OPERATION
        function InitDDLOperation(workNodeData, mapAttr, defVal) {
            var operations = '';
            var ddlData = new Array();
            var ddlItem = new Object();
            //外键类型
            if (mapAttr.LGType == 2 || mapAttr.LGType == 1) {
                if (workNodeData[mapAttr.KeyOfEn] != undefined) {
                    $.each(workNodeData[mapAttr.KeyOfEn], function (i, obj) {
                        //operations += "<option " + (obj.No == defVal ? " selected='selected' " : "") + " value='" + obj.No + "'>" + obj.Name + "</option>";
                        ddlItem = new Object();

                        ddlItem[mapAttr.KeyOfEn] = obj.No
                        ddlItem.Name = obj.Name;
                        ddlData.push(ddlItem);

                    });

                    return ddlData;
                }
                else if (workNodeData[mapAttr.UIBindKey] != undefined) {
                    $.each(workNodeData[mapAttr.UIBindKey], function (i, obj) {
                        ddlItem = new Object();

                        ddlItem[mapAttr.KeyOfEn] = obj.No
                        ddlItem.Name = obj.Name;
                        ddlData.push(ddlItem);
                    });

                    return ddlData;
                }
            } else if (mapAttr.LGType == 0 && mapAttr.UIContralType == 1 && mapAttr.MyDataType == 1) {
                if (workNodeData[mapAttr.KeyOfEn] != undefined) {
                    $.each(workNodeData[mapAttr.UIBindKey], function (i, obj) {
                        ddlItem = new Object();

                        ddlItem[mapAttr.KeyOfEn] = obj.No
                        ddlItem[mapAttr.KeyOfEn + "T"] = obj.Name;
                        ddlData.push(ddlItem);
                    });
                } else if (workNodeData[mapAttr.UIBindKey] != undefined) {

                    $.each(workNodeData[mapAttr.UIBindKey], function (i, obj) {
                        ddlItem = new Object();

                        ddlItem[mapAttr.KeyOfEn] = obj.No
                        ddlItem[mapAttr.KeyOfEn + "T"] = obj.Name;
                        ddlData.push(ddlItem);
                    });
                }

                alert(ddlData);
                return ddlData;
            } else {
                var enums = workNodeData.Sys_Enum;
                enums = $.grep(enums, function (value) {
                    return value.EnumKey == mapAttr.UIBindKey;
                });


                $.each(enums, function (i, obj) {
                    operations += "<option " + (obj.IntKey == defVal ? " selected='selected' " : "") + " value='" + obj.IntKey + "'>" + obj.Lab + "</option>";
                });
            }
            return operations;
        }

        //升级表单元素 初始化文本框、日期、时间
        function figure_MapAttr_Template(mapAttr) {
            var editorAttr = new Object();
            editorAttr.options = {};

            if (mapAttr.UIIsInput == 1) {
                editorAttr.options.required = true;
            } else {
                editorAttr.options.required = false;
            }

            if (mapAttr.UIIsEnable == 1) {
                editorAttr.options.readonly = false;
            } else {
                editorAttr.options.readonly = true;
            }

            if (mapAttr.KeyOfEn == "AthNum") {
                editorAttr.type = 'linkbutton';
                //editorAttr.options.multiline = false;
                //editorAttr.options.readonly = true;
                return editorAttr;
            }

            if (mapAttr.UIVisible == 1) {//是否显示
                var defValue = ConvertDefVal(workNodeData, mapAttr.DefVal, mapAttr.KeyOfEn);

                if (mapAttr.UIContralType != 6) {
                    //外键类型
                    if (mapAttr.LGType == 2) {
                        editorAttr.type = 'combobox';
                        //editorAttr.options.required = true;
                        editorAttr.options.valueField = mapAttr.KeyOfEn;
                        editorAttr.options.textField = 'Name';
                        editorAttr.options.data = InitDDLOperation(workNodeData, mapAttr, defValue);
                        //editorAttr.options.editable = false;

                        return editorAttr;
                    } else {
                        //添加文本框 ，日期控件等
                        //AppString
                        if (mapAttr.MyDataType == "1" && mapAttr.LGType != "2") {
                            //不是外键
                            if (mapAttr.UIContralType == "1") {
                                editorAttr.type = 'combobox';
                                //editorAttr.options.required = true;
                                editorAttr.options.valueField = mapAttr.KeyOfEn;
                                editorAttr.options.textField = mapAttr.KeyOfEn + "T";
                                editorAttr.options.data = InitDDLOperation(workNodeData, mapAttr, defValue);
                                //editorAttr.options.editable = false;


                                return editorAttr;
                                alert("错误的控件类型");

                            } else {
                                //文本区域 、富文本
                                if (mapAttr.IsRichText == "1") {
                                    editorAttr.type = 'textbox';
                                    editorAttr.options.height = '80px';
                                    editorAttr.options.multiline = true;
                                    return editorAttr;
                                }
                                else {
                                    //text
                                    editorAttr.type = 'textbox';
                                    editorAttr.options.multiline = false;

                                    return editorAttr;
                                }
                            }
                        }
                        else if (mapAttr.MyDataType == 6) {//AppDate
                            editorAttr.type = 'datebox';
                            //editorAttr.options.value = '2018-12-10';
                            editorAttr.options.editable = false;
                            return editorAttr;
                        }
                        else if (mapAttr.MyDataType == 7) {// AppDateTime = 7
                            editorAttr.type = 'datetimebox';
                            editorAttr.options.editable = false;
                            return editorAttr;
                        }
                        else if (mapAttr.MyDataType == 4) {// AppBoolean = 4
                            editorAttr.type = 'checkbox';

                            editorAttr.options.on = '1';
                            editorAttr.options.off = '0';

                            return editorAttr;
                        }

                        if (mapAttr.MyDataType == 2 && mapAttr.LGType == 1) { //AppInt Enum
                            if (mapAttr.UIContralType == 1) {//DDL
                                editorAttr.type = 'combobox';
                                //editorAttr.options.required = true;
                                editorAttr.options.valueField = mapAttr.KeyOfEn;
                                editorAttr.options.textField = 'Name';
                                editorAttr.options.data = InitDDLOperation(workNodeData, mapAttr, defValue);
                                //editorAttr.options.editable = false;

                                return editorAttr;
                            }
                        }

                        // AppDouble  AppFloat
                        if (mapAttr.MyDataType == 5 || mapAttr.MyDataType == 3) {
                            editorAttr.type = 'numberbox';

                            editorAttr.options.value = 0;
                            editorAttr.options.precision = 2;

                            return editorAttr;
                        }
                        if ((mapAttr.MyDataType == 2 && mapAttr.LGType != 1)) {//AppInt
                            editorAttr.type = 'numberbox';

                            editorAttr.options.value = 777;
                            //alert(editorAttr.options.value);
                            return editorAttr;
                        }


                        //AppMoney  AppRate
                        if (mapAttr.MyDataType == 8) {

                            editorAttr.type = 'numberbox';

                            editorAttr.options.value = 0;
                            editorAttr.options.precision = 2;
                            editorAttr.options.prefix = '￥';

                            return editorAttr;
                        }

                        //单选按钮
                        //if (mapAttr.MyDataType == 2) {

                        //    editorAttr.type = 'numberbox';

                        //    editorAttr.options.value = 0;
                        //    editorAttr.options.precision = 2;
                        //    editorAttr.options.prefix = '￥';

                        //    return editorAttr;
                        //}
                    }
                }
            } else {

                alert("待处理");
            }
        }

        //选项 导入导出功能.
        function Option(impModel) {

            if (impModel == 0) {
                alert("请配置导入方式。");
            }

            //SQL\JSON导入方式
            if (impModel == 1) {
                var url = GetHrefUrl();
                //url = url.replace('Dtl.htm', 'DtlOpt.htm');
                url = url.replace('Dtl.htm', 'DtlImp.htm');
            }

            //excel模式导入方式
            if (impModel == 2) {
                var url = GetHrefUrl();
                url = url.replace('Dtl.htm', 'DtlImpByExcel.htm');
                //  url = url.replace('Dtl.htm', 'DtlOpt.htm');
            }

            //  alert(impModel);


            //SQL\JSON导入方式
            if (impModel == 3) {
                var url = GetHrefUrl();
                //url = url.replace('Dtl.htm', 'DtlOpt.htm');
                url = url.replace('Dtl.htm', 'DtlImpByExcel.htm');
            }


            if (window.parent && window.parent.OpenBootStrapModal) {

                var dtl_ImpMapExt = $.grep(mapExts, function (ext) { return ext.ExtType == "DtlImp" });

                var title = "导入数据";
                var digWidth = 900;
                var digHeight = 450;
                if (dtl_ImpMapExt.length > 0) {
                    digWidth = dtl_ImpMapExt[0].W;
                    digHeight = dtl_ImpMapExt[0].H;

                    var atPara = dtl_ImpMapExt[0].AtPara;
                    var reg = new RegExp("(^|@)Title=([^@]*)(@|$)");
                    var results = atPara.match(reg);
                    if (results != null) {
                        title = unescape(results[2]);
                    }
                }
                window.parent.OpenBootStrapModal(url, "eudlgframe", title, digWidth, digHeight, "icon-edit", false, function () { }, null, function () {
                    location = location;
                });
                return;
            }

            SetHref(url);
        }
    </script>
    <style type="text/css">
        /*.table thead {
            display: block;
        }

        .table tbody {
            display: block;
            overflow-x: hidden;
            overflow-y: hidden;
        }

        .table thead, .tbody tr {
            display: table;
            width: 100%;
            table-layout: fixed;
        }

        .table thead {
            width: calc(100% - 1em);
        }*/
    </style>
</head>
<body>
    <form>
        <input type="hidden" id="formExt" />
        <div id="Msg" style="text-align: center;display:none;"><img src="../Scripts/bootstrap/fonts/loading.gif" /></div>
        <div id="ContentDtlDiv">
            <div id="" class="portlet portlet-sortable light bg-inverse" style="padding: 0px; margin: 0px;">
                <div class="portlet-body " id="">
                    <div class="tab-content" style="margin: 1px 0px;">
                        <div class="tab-pane active portlet_tab flowLists" style="overflow-x: auto; overflow-y: hidden;" id="dtlDiv">
                            <table class="easyui-datagrid" id="dtlTable"></table>
                            <!--<div id="pp" style="background:#efefef;border:1px solid #ccc;"></div>-->
                            <!--<div class="loadDate" style="text-align: center;">
                                <img src="../Scripts/bootstrap/fonts/loading.gif" />加载中...
                            </div>-->
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </form>
    <script type="text/javascript">
        //插入行.
        function AddRow(EditModel) {
            if (endEditing()) {
                $('#dtlTable').datagrid('appendRow', {});
                editIndex = $('#dtlTable').datagrid('getRows').length - 1;

                $('#dtlTable').datagrid('selectRow', editIndex)
                        .datagrid('beginEdit', editIndex);

                //setDefaultVal();
            } else {
                alert("注意必填项");
            }
        }

        function setDefaultVal() {
            var ed = $("#dtlTable").datagrid('getEditor', { index: 0, field: "SchoolLength" });

            //var editRow = $('#dtlTable').datagrid('getEditor', { index: index, field: '你的下拉框列' });
            $(ed.target).numberbox('setValue', "2121");

            var ed = $(this).datagrid('getEditor', { index: index, field: field });
            var ooo = $(ed.target);

        }
        //保存行数据
        function SaveRow() {
            var selectedRow = $('#dtlTable').datagrid('getSelected');
            if (selectedRow == null) {
                alert("没有选中要保存的数据行");
                return;
            }
            var selectedIndex = $('#dtlTable').datagrid('getRowIndex', selectedRow);
            var b = $('#dtlTable').datagrid('validateRow', selectedIndex);

            if (b) {
                $('#dtlTable').datagrid('endEdit', editIndex);
                editIndex = undefined;

                var rowData = $('#dtlTable').datagrid('getSelected');

                var athNum;
                if (rowData.AthNum != undefined) {
                    athNum = rowData["AthNum"];
                    delete rowData["AthNum"];//删除附件数量属性
                }
                rowData.DoType = "Dtl_SaveRow";
                rowData.FK_MapDtl = GetQueryString("EnsName");
                rowData.RefPKVal = GetQueryString("RefPKVal");
                rowData.FK_Node = GetQueryString("FK_Node");
                rowData.FK_MapData = GetQueryString("FK_MapData");
                rowData.FID = GetQueryString("FID");

                var handler = new HttpHandler("BP.WF.HttpHandler.WF_CCForm");
                handler.AddPara("FK_MapDtl", rowData.FK_MapDtl);
                handler.AddPara("RefPKVal", rowData.RefPKVal);
                handler.AddPara("FK_Node", rowData.FK_Node);
                handler.AddPara("FK_MapData", rowData.FK_MapData);
                handler.AddPara("FID", rowData.FID);
                var data = handler.DoMethodReturnString("Dtl_SaveRow");
                    loadDtlTable();
            } else {
                alert("第" + (selectedIndex + 1) + "行数据验证无效。请重新填写");
            }
        }

        function deleteRow() {
            $('#dtlTable').datagrid('endEdit', editIndex);
            editIndex = undefined;
            var checkedRows = $('#dtlTable').datagrid('getChecked');

            if (checkedRows.length == 0) {
                alert("没有选中要删除的数据");
                return;
            }
            else {
                $.messager.confirm('确认', '确定删除所选数据吗？', function (r) {
                    if (r) {
                        //$('#dtlTable').datagrid('deleteRow', $('#dtlTable').datagrid('getRowIndex', checkedRows[0]));
                        var rowData = checkedRows[0];
                        if (rowData.OID > 0) {
                            rowData.DoType = "Dtl_DeleteRow";
                            rowData.FK_MapDtl = GetQueryString("EnsName");
                            rowData.RefPKVal = GetQueryString("RefPKVal");

                            var handler = new HttpHandler("BP.WF.HttpHandler.WF_CCForm");
                            handler.AddPara("FK_MapDtl", rowData.FK_MapDtl);
                            handler.AddPara("RefPKVal", rowData.RefPKVal);
                            var data = handler.DoMethodReturnString("Dtl_DeleteRow");
                             loadDtlTable();
                        }
                    }
                });
            }
        }
        function insertRow(EditModel) {
            //新增显示方式？ =0行模式, 1=自由表单模式 2=傻瓜表单模式.
            // ==1,==2 是打开父窗口出现卡片.
            //var EditModel = sys_MapDtl.EditModel;
            //window.EditModel = EditModel;

            //判断插入行的模式 =0行模式. 1=自由表单卡片模式 2=傻瓜表单卡片模式.
            if (EditModel != 0 && window.parent) {
                var ensName = GetQueryString("EnsName");
                var refPKVal = GetQueryString("RefPKVal");
                var FK_MapData = GetQueryString("FK_MapData");
                var FID = GetQueryString("FID");
                var FK_Node = GetQueryString("FK_Node");
                window.parent.DtlFrm(ensName, refPKVal, '0', EditModel, loadDtlTable, FK_MapData, FK_Node, FID, false);
                return;
            }
        }
    </script>

    <script type="text/javascript">
        function ShowPopValOnParentForm(ctrl, fk_mapExt, refEnPK, width, height, title) {
            isChange = false;
            //主表字段数据
            var formData = parent.window.getFormData(false, false);
            //明细表当前行数据
            parent.window.ReturnValCCFormPopValGoogle(ctrl, fk_mapExt, refEnPK, width, height, title, formData, workNodeData.Sys_MapDtl[0].No);
        }

        //填充默认数据
        function ConvertDefVal(workNodeData, defVal, keyOfEn, myDataType) {

            //计算URL传过来的表单参数@TXB_Title=事件测试
            var pageParams = getQueryString();
            var pageParamObj = {};
            $.each(pageParams, function (i, pageParam) {
                if (pageParam.indexOf('@') == 0) {
                    var pageParamArr = pageParam.split('=');
                    pageParamObj[pageParamArr[0].substring(1, pageParamArr[0].length)] = pageParamArr[1];
                }
            });

            var result = defVal;

            //通过MAINTABLE返回的参数
            for (var ele in workNodeData.DBDtl[0]) {
                if (keyOfEn == ele && workNodeData.DBDtl[0][ele] != '') {
                    result = workNodeData.DBDtl[0][ele];
                    break;
                }
            }

            //通过URL参数传过来的参数
            for (var pageParam in pageParamObj) {
                if (pageParam == keyOfEn) {
                    result = pageParamObj[pageParam];
                    break;
                }
            }

            if (result != undefined && typeof (result) == 'string') {
                //result = result.replace(/｛/g, "{").replace(/｝/g, "}").replace(/：/g, ":").replace(/，/g, ",").replace(/【/g, "[").replace(/】/g, "]").replace(/；/g, ";").replace(/~/g, "'").replace(/‘/g, "'").replace(/‘/g, "'");
            }

            if (myDataType == 8)
                if (!/\./.test(result))
                    result += '.00';
            return result = unescape(result);
        }

        var workNodeData = {};

    </script>
    <!--DIVINFO-->
    <div id='divinfo' style='width: 155px; position: absolute; color: Lime; display: none; cursor: pointer; text-align: left; border-color:Black'></div>
</body>
</html>
